home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '89 / Other stuff / MacSTILE / Read Me < prev   
Encoding:
Text File  |  1988-12-18  |  16.5 KB  |  115 lines  |  [TEXT/ttxt]

  1. NOTE
  2.  
  3. If you have received only the demonstration version of MacSTILE (i.e., if you have not paid for MacSTILE, and therefore do not have the MacSTILE User’s Guide) you will find MacSTILE Demo easier to use if you read the description below.  The following is excerpted from the User’s Guide, and all references to other “Chapters” refer to the User’s Guide.
  4.  
  5.  
  6.  
  7. SUPPORT/UPGRADE, WARRANTY, AND COPYRIGHT INFORMATION
  8.  
  9.  
  10. Support and Upgrade Policy — When you purchase MacSTILE, please return the registration card immediately.  This will ensure that you are officially known to us and that you are notified of the availability of upgrades or important suggestions.  Support is available by mail via the problem/question report form enclosed with the documentation.  Our policy is that if your registration card is on file, you are entitled to receive free one major upgrade release of MacSTILE.  When you are notified of the existence of such an upgrade, return the notification card along with your original MacSTILE disk plus a nominal shipping and handling charge, and we will send back a disk containing the new release.
  11.  
  12. Limited Warranty — The following warranty applies for the first 90 days after you purchase MacSTILE:  (1)  If you discover a physical defect in the distribution media or the printed documentation, we will replace it at no charge if you return it to us with your registration card and dated proof of purchase.  (2) If you discover that the software does not perform substantially as described in the MacSTILE User’s Guide, and if you give us written notification (via the problem/question report form) of a significant, reproducible error in the software, and if you provide a written description of the apparent problem and how to reproduce it, we will (at our option) provide you with workaround instructions, a corrected copy of the software, or a refund of the purchase price if you return the entire package to us with your registration card and dated proof of purchase.  We make no other warranty or representation, either explicit or implied, with respect to the software itself, its  quality, performance, merchantability, or fitness for a particular purpose.  In no event will we be liable for direct, indirect, special, incidental, or consequential damages resulting from any defect in the software or its documentation.  Some states may not allow these exclusions or limitations, so they may not apply to you.  The warranty and remedies set forth above are exclusive and in lieu of all others, oral or written, express or implied.
  13.  
  14. Copyright Information — For your convenience, MacSTILE and MacSTILE Part Protector are not copy-protected.  However, the programs and their documentation are copyrighted and you may not reproduce them without restriction.  Specifically, you are permitted to make back-up copies of the programs for your own use and protection — in fact you are encouraged to make one back-up copy of the master disk as soon as you can.  Copies of the programs may be used on a different computer so long as there is no possibility that more than one copy is in use at any one time.  The documentation may be copied under similar restrictions, but all copies of both the programs and documentation must contain the copyright notices of the originals.  (If you have a site license, some restrictions may not apply.  Please refer to your specific agreement.)  A demonstration  program, MacSTILE Demo, is distributed on the program disk if you wish to introduce someone else to the program.  The demo may be copied and given to anyone else without restrictions on further copying.
  15.  
  16. Copyright © 1988 by Software Originals, Inc.
  17. All rights reserved.
  18.  
  19. MacSTILE and MacSTILE User’s Guide were developed and written by Bruce W. Weide.
  20. MacSTILE Part Protector was developed and written by Michael P. Stovsky.
  21.  
  22. Apple, the Apple logo, and LaserWriter are registered trademarks of Apple Computer, Inc.
  23. Macintosh, Finder, and MultiFinder are trademarks of Apple Computer, Inc.
  24. MacWrite, MacPaint, and MacDraw are registered trademarks of CLARIS Corporation.
  25. UNIX is a trademark of AT&T.
  26. MacSTILE is a trademark of Software Originals, Inc.
  27.  
  28.  
  29.  
  30. CONTENTS
  31.  
  32.  
  33. 1.    Introducing MacSTILE
  34.         1.1.    How MacSTILE Differs From Other Design Tools
  35.         1.2.    Syntax vs. Semantics in Schematic Diagrams
  36. 2.    Getting Started
  37.         2.1.    Hardware and System Software Needed
  38.         2.2.    Before You Start
  39.         2.3.    What’s on the Disk
  40.  
  41.  
  42.  
  43. 1.  Introducing MacSTILE
  44.  
  45.  
  46. MacSTILE™ is a new kind of schematic diagramming and system design tool for Apple® Macintosh™ computers.  It is especially well-suited to a component-oriented approach to design that emphasizes reusable parts.
  47.  
  48. The program lets you combine hierarchical schematic diagrams and text in a uniquely flexible way.  It can be used for all sorts of system design, including but not limited to software systems.  To some people, MacSTILE is a schematic diagramming tool; to others a computer-aided software engineering tool; and to others a new kind of hypertext system.
  49.  
  50.  
  51. 1.1.    How MacSTILE Differs From Other Design Tools
  52.  
  53. MacSTILE can be used in any of the ways suggested above, and more.  But three main distinguishing features set it apart from other software which is often used for such tasks.
  54.  
  55. MacSTILE understands reusability — In MacSTILE, each part (or component or subsystem) has an external interface for interconnections to other parts, and internal detail that describes how the part is constructed from more primitive components.  When these primitive components and the new ones you build from them can be used without modification in more than one place, you are taking advantage of reusability.
  56.  
  57. While separation of external appearance from internal details is a great idea in principle, many subtle problems can arise because of it.  For example, how can you be sure a component has exactly the same external interface everywhere it’s used?  MacSTILE ensures this automatically, where other schematic diagramming tools may not.  Suppose you are using one of these other programs that doesn’t recognize reusable components.  If you copy a part in hopes of reusing it, you may then change one copy’s external interface (or internal detail) without even realizing there are other copies that are not being changed!  Such behavior completely stymies component reuse.  MacSTILE makes sure you don’t have this problem.
  58.  
  59. Other similar questions arise that are equally important.  Can you delay filling in the implementation details of a part until after it has already been used?  Can you change the implementation details of a component even after it is in use?  Can you be sure these changes will not affect its external interface?  Can you quickly find all the places where a particular part is used?  With MacSTILE, these questions are all answered “yes.”  With most diagramming tools, some or all of the answers are “no.”
  60.  
  61. MacSTILE offers vertical market development possibilities — Because it is not hard-coded for any particular application domain, MacSTILE can be used for system design in virtually any area.  It is currently being used by various customers to design software systems, to design systems that process medical images, and to design custom audio/video systems from off-the-shelf components, among others.
  62.  
  63. To begin to use MacSTILE for a new application domain, the original user must develop an initial repertoire of primitive MacSTILE parts specific to that area.  For example, in the audio/video application, complex schematics include various kinds of pins and cables, switches, amplifiers, stereo and TV components, etc.  These basic parts must be entered into MacSTILE once, in a bootstrapping process, after which they can be used over and over.  The cost of bootstrapping can be amortized over these subsequent uses.  But even better, such a parts library once developed can also be sold directly to others who can use MacSTILE for system design in the same vertical market.
  64.  
  65. MacSTILE is a specialized but “open” system — MacSTILE can be used alone to produce hierarchical schematic diagrams and to organize potentially reusable system components during design.  In fact, most people use it for just that purpose.  Their diagrams and associated text are purely design documents.  There has long been a need for a tool that permits you to do this effectively, and MacSTILE fills it.
  66.  
  67. MacSTILE is very good at what it does; but that’s it.  MacSTILE doesn’t do everything some people want.  There are simply too many possible interpretations of system schematic diagrams for MacSTILE to know about even a small fraction of them.  It doesn’t read in Pascal programs and magically create block diagrams from the program structure, or vice versa.  It doesn’t construct UNIX™ shell commands from a graphical description of pipes and filters.  It doesn’t create simulation programs from schematics of queueing system models.  In fact, MacSTILE doesn’t do a lot of things — which makes it philosophically different from many recently introduced Macintosh applications.
  68.  
  69. In exchange for lots of built-in functionality that might be useful to a relatively small community, MacSTILE offers an “open systems architecture” that allows it to be used as the front-end to a variety of custom-built programs that put life into schematic diagrams.  This makes MacSTILE much more than an ordinary diagramming tool.  It can also serve as a major part of an affordable CASE tool — one that can be customized to your situation and needs, not one that is hard-coded to support Jackson’s or Yourdon’s diagrams or methodology or that saves your work in some incomprehensible binary code.  MacSTILE produces a simple ASCII text file as output, and the file format is included in this manual.
  70.  
  71. Among other things, this means that if you have access to the services of a moderately skilled programmer you can create a post-processing program that reads in a MacSTILE project file and then processes it in any way you like.  Especially when used in conjunction with MultiFinder®, MacSTILE and your own custom post-processor can form a powerful combination.  Or if you prefer you can use a file transfer program to move the file to another computer system and process it there, since the file contains nothing but printable ASCII characters.  As with a database of primitive parts, you may of course sell such a program to others who have needs similar to your own.
  72.  
  73. For example, you might generate source code or even executable program code directly from a schematic description of software; or you might generate a simulation program from a schematic of a queueing model or a linear system block diagram.  Several such post-processors are already being developed by MacSTILE users.
  74.  
  75. In short, with MacSTILE you can be sure that CASE means “computer-aided systems engineering” because the program’s utility transcends software design and development.
  76.  
  77.  
  78. 1.2.    Syntax vs. Semantics in Schematic Diagrams
  79.  
  80. As suggested above, MacSTILE’s view of the design and incorporation of reusable components is that a system consists of parts that are composed by using an interactive schematic diagram editor.  This graphical editor enforces a consistent syntax (i.e., structure) on your graphical descriptions.  However, while the editor is syntax-sensitive, it knows nothing about the semantics (i.e., meanings) of the parts you are putting together.  This feature makes MacSTILE domain independent, so it can be used in any application in which hierarchical block diagrams might be drawn to describe a “system.”  A file containing a description of the parts and how they are interconnected is produced as the output of MacSTILE.  A post-processing program must interpret the meanings of the parts and the interconnections among them.
  81.  
  82. Because the syntax of diagrams is all MacSTILE knows about, one of the things you will need to learn is how to use the powerful syntax-checking capabilities of MacSTILE to enforce various parts interconnection restrictions.  After all, you don’t want to be able to draw schematics that contain obvious errors or omissions (such as those suggested in Section 1.1).  This would make the diagrams themselves suspect as part of design documentation, and would certainly complicate any post-processor because it would have to do lots of syntax checking of diagrams.
  83.  
  84. You might guess most interesting interconnection restrictions reflect semantic constraints, and this is true.  But that fact does not prevent syntactic checking of those constraints.  Examples of this idea are common in everyday life.  The plug on your telephone cable won’t fit into an ordinary 110-volt socket.  It was designed that way, because there would be a serious semantic problem if it did — the telephone expects to see and emit certain electrical signals at different voltages and with different characteristics than the electrical outlet.  By convention, the physical shapes of these objects are incompatible so such semantic problems are avoided.  Notice it doesn’t matter what the uses (semantics) of the plugs and sockets might be.  If they are simply not permitted to be coupled (purely a syntax constraint) nothing like the above problem can happen.
  85.  
  86. As another example, consider the use of types in programming languages.  Types are usually thought of as a way to enforce semantic constraints.  Checking that two types match, however, is again purely a syntactic operation.  It doesn’t matter what type T means in the context of the program — the compiler can easily check that an argument of type T is provided wherever a parameter of type T is expected, independent of the meaning.
  87.  
  88. This is exactly the kind of checking MacSTILE’s schematic editor does.  In fact, good reusable part designs often take this idea to an apparent extreme, as seen in the sample projects included on your MacSTILE master disk.
  89.  
  90.  
  91.  
  92. 2. Getting Started
  93.  
  94.  
  95. A description of how to use MacSTILE begins in Chapter 5.  Feel free to take a test drive once you’ve followed the instructions in this Chapter, though.  Most people are anxious to get started and simply try out a new Macintosh program, so go right ahead!  But please don’t skip Chapters 3 and 4 completely, because they really will help you understand MacSTILE’s “engineering design metaphor” — which is just as important when you’re using MacSTILE as understanding the “desktop metaphor” is when you’re using the Finder®.  A small investment to read it carefully now will save lots of time later.
  96.  
  97.  
  98. 2.1.    Hardware and System Software Needed
  99.  
  100. To use MacSTILE you’ll need a Macintosh 512K, Macintosh 512K Extended, Macintosh Plus, Macintosh SE, Macintosh II or Macintosh IIx, and recent system software for that model.  You may use either the Finder or MultiFinder.  No surprises here:  Large projects are handled better with more memory, file operations work faster with a hard disk than with a floppy, and laser printers produce nicer looking printouts than dot-matrix printers.  But you can get by with 512K of memory, a single floppy, and no printer.
  101.  
  102.  
  103. 2.2.    Before You Start
  104.  
  105. The very first thing to do is to be sure you know how to use a Macintosh.  Throughout this document you will be assumed to be familiar with the usual filing and editing operations and standard Macintosh terminology that would be needed by an ordinary user of any other application program.
  106.  
  107. Frankly, if you don’t already know these things, MacSTILE is probably not where you should start.  Try MacWrite® or MacDraw®.  These tools are designed to help you solve different problems than MacSTILE, and to use them you will not need to learn anything special about the problems they can tackle because they’re already familiar.  Learning MacSTILE, on the other hand, primarily involves learning a bit of new terminology and getting a good feel for its “engineering design metaphor.”  If you have already used MacWrite, MacDraw, or other well-designed Macintosh programs, at least you will not also need to learn a new human interface.
  108.  
  109.  
  110. 2.3.  What’s on the Disk
  111.  
  112. The master disk contains the MacSTILE application itself, a demonstration version called MacSTILE Demo (which is fully functional except that it does not permit saving projects), an application called MacSTILE Part Protector, and a folder called Sample Projects that includes several examples of how MacSTILE might be used.  It also contains two TeachText documents: Read Me and MacSTILE File Format.  (The contents of Read Me is the same as the first two chapters of the User’s Guide, and the contents of MacSTILE File Format is the same as Section 10.3 of the User’s Guide.)
  113.  
  114. NOTE — If you wish to introduce someone else to MacSTILE, please give them copies of MacSTILE Demo, the Sample Projects folder, and Read Me.  As noted in the copyright information at the front of the User’s Guide, it is illegal to copy MacSTILE or MacSTILE Part Protector except for your own use under the conditions stated there.
  115.